<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui">

<ui:composition template="/layout/common.xhtml">
	<ui:define name="body">
		<h:form id="form" acceptcharset="ISO-8859-1">
			<f:metadata>
				<f:viewParam name="param" value="#{grupoProducaoBean.param}"/>
				<f:event listener="#{grupoProducaoBean.obras()}" type="postAddToView" />
			</f:metadata>

			<p:toolbar>
				<f:facet name="left">
					<p:commandButton value="#{msg['massai.comum.pesquisar']}" 
						action="manterGrupoProducao" ajax="false" immediate="true" />

					<span class="ui-separator"> <span
						class="ui-icon ui-icon-grip-dotted-vertical" />
					</span>

					<p:commandButton value="#{msg['massai.comum.salvar']}" 
						actionListener="#{grupoProducaoBean.salvar()}" ajax="false" />
					
					<span class="ui-separator"> <span
						class="ui-icon ui-icon-grip-dotted-vertical" />
					</span>
						
					<p:commandButton value="#{msg['massai.comum.novo']}" 
						action="manterGrupoProducaoCadastro" ajax="false" immediate="true" />
				</f:facet>
			</p:toolbar>
			<p:panel header="#{msg['massai.manterGrupoProducao.header']}">
				<h:panelGrid cellspacing="5">
					<h:panelGrid columns="3">
						<h:panelGrid>
							<h:outputLabel value="#{msg['massai.manterGrupoProducao.codigo']}" for="codigo" />
							<p:inputText value="#{grupoProducaoBean.grupoProducao.id}" style="width: 70px; text-align: right;"
								label="#{msg['massai.manterGrupoProducao.codigo']}" readonly="true" disabled="true" id="codigo" />
						</h:panelGrid>

						<h:panelGrid>
							<h:outputLabel value="#{msg['massai.manterGrupoProducao.descricao']}" for="descricao" />
							<p:inputText tabindex="1" id="descricao" value="#{grupoProducaoBean.grupoProducao.descricao}"
								style="width: 315px;" maxlength="255" />
						</h:panelGrid>
					</h:panelGrid>

					<h:panelGrid columns="2" id="panelGrupoCopia">
						<h:panelGrid>
							<h:outputLabel value="#{msg['massai.manterGrupoProducao.codigo']}" for="codigoCopia" />
							<p:inputText tabindex="2" id="codigoCopia" style="width: 70px; text-align: right;" 
								value="#{grupoProducaoBean.grupoProducaoVinculado.id}" 
								label="#{msg['massai.manterGrupoProducao.codigo']}">
								<p:ajax event="change" listener="#{grupoProducaoBean.obterGrupoPorCodigo()}" 
									update="panelGrupoCopia,:messages,dataTableItensPlanilha" />
							</p:inputText>
						</h:panelGrid>

						<h:panelGrid>
							<h:outputLabel value="#{msg['massai.manterGrupoProducao.copiarPlanilhaGrupo']}" for="vincularPlanilha" />
							<h:panelGroup>
								<p:inputText id="vincularPlanilha" disabled="true" readonly="true" style="width: 315px;"
									value="#{grupoProducaoBean.grupoProducaoVinculado.descricao}"
									label="#{msg['massai.manterGrupoProducao.copiarPlanilhaGrupo']}" />
								<p:commandButton tabindex="3" value=". . ." style="margin-left:3px;" type="button" onclick="PF('grupoDlg').show();" />
							</h:panelGroup>
						</h:panelGrid>
					</h:panelGrid>
				</h:panelGrid>
				
				<p:spacer height="20" />
				
				<p:dataTable id="dataTableObras" emptyMessage="#{msg['massai.comum.emptyMessage']}" 
					value="#{grupoProducaoBean.listaObra}" var="obra" sortMode="multiple" rows="5" paginator="true"
                    paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}"
                    currentPageReportTemplate="({currentPage} de {totalPages})" paginatorPosition="bottom" paginatorAlwaysVisible="false"
                    widgetVar="widObra" rowIndexVar="row">

					<f:facet name="header"><h:outputText value="#{msg['massai.manterGrupoProducao.obras']}" /></f:facet>

					<p:column headerText="#{msg['massai.manterGrupoProducao.selecionar']}" width="30" style="text-align: center;">
						<p:selectBooleanCheckbox tabindex="4" value="#{obra.select}">
							<p:ajax event="change" listener="#{grupoProducaoBean.associarObra(obra)}" update="dataTableObras,:messages" />
						</p:selectBooleanCheckbox>
					</p:column>

					<p:column headerText="#{msg['massai.associacao.codigoColigada']}" width="80">
						<h:outputText value="#{obra.codigoColigada}" />
					</p:column>

					<p:column headerText="#{msg['massai.associacao.codigoTotvs']}" width="120">
						<h:outputText value="#{obra.codigoDepto}" />
					</p:column>

					<p:column headerText="#{msg['massai.manterGrupoProducao.obra']}">
						<h:outputText value="#{obra.nomeFantasia ne null ? obra.nomeFantasia : obra.nome}" />
					</p:column>
				</p:dataTable>
				
				<p:spacer height="30" />
				
				<fieldset>
					<legend><h:outputText value="#{msg['massai.manterGrupoProducao.itensPlanilha']}" /></legend>
					<h:panelGrid columns="2" width="100%">
						<h:panelGrid columns="4" id="panelItemServico">
							<h:panelGrid id="codigoItemPanel">
								<h:outputLabel value="#{msg['massai.manterGrupoProducao.nivel']}" for="codigoItem" />
								<p:inputText id="codigoItem" value="#{genericUtilBean.completarZerosEsquerda(grupoProducaoBean.itemServico.nivel, 6)}" disabled="true" readonly="true"
									style="width: 60px; text-align: right;" label="#{msg['massai.manterGrupoProducao.nivel']}">
									<p:ajax event="change" listener="#{grupoProducaoBean.obterPorCodigo()}" update="panelItemServico:, :messages" />
								</p:inputText>
							</h:panelGrid>
	
							<h:panelGrid>
								<h:outputLabel value="#{msg['massai.manterGrupoProducao.descricaoServico']}" for="descricaoItem" />
								<h:panelGroup>
									<p:inputText id="descricaoItem" value="#{grupoProducaoBean.itemServico.descricao}"
										style="width: 350px;" maxlength="255" disabled="true" readonly="true" />
									<p:commandButton tabindex="5" value=". . ." style="margin-left:3px;" type="button" onclick="PF('servicoDlg').show();" />
								</h:panelGroup>
							</h:panelGrid>
	
							<h:panelGrid>
								<h:outputLabel value="#{msg['massai.manterGrupoProducao.valorUnit']}" for="valor" />
								<h:panelGroup>
									<p:inputText tabindex="6" id="valor" value="#{grupoProducaoBean.itemPlanilha.valor}" 
										label="#{msg['massai.manterGrupoProducao.valorUnit']}" style="width: 80px; text-align: right;" 
										maxlength="12" onkeypress="mascara(this, moeda);">
										<f:convertNumber pattern="#,##0.0000" currencySymbol="R$" 
											maxFractionDigits="4" minFractionDigits="4" type="number" />
									</p:inputText>
									<p:commandButton tabindex="7" 
										value="#{msg['massai.comum.adicionar']}" style="margin-left:3px;"
										actionListener="#{grupoProducaoBean.associarItemPlanilha()}"
										update="panelItemServico:, :messages, dataTableItensPlanilha" />
								</h:panelGroup>
							</h:panelGrid>
						</h:panelGrid>
	
						<h:panelGrid>
							<h:outputLabel value="#{msg['massai.manterGrupoProducao.valorPercentAumento']}" />
							<h:panelGroup>
								<p:inputText tabindex="8" style="width: 80px; text-align: right;"
									label="#{msg['massai.lancarServicoProducao.valorPerc']}" 
									onkeypress="mascara(this,moeda);" maxlength="8"
									value="#{grupoProducaoBean.valorPercent}">
									<f:convertNumber pattern="#,##0.0000" 
										maxFractionDigits="4" minFractionDigits="4" type="number" />
								</p:inputText>
								<p:commandButton tabindex="9" value="#{msg['massai.manterGrupoProducao.aplicarPercent']}" ajax="false"
									style="margin-left:3px;" actionListener="#{grupoProducaoBean.aplicarAumentoPercent()}" />
							</h:panelGroup>
						</h:panelGrid>
					</h:panelGrid>
	
					<p:dataTable id="dataTableItensPlanilha" style="margin-top: 15px;" emptyMessage="#{msg['massai.comum.emptyMessage']}" 
						value="#{grupoProducaoBean.listaItemPlanilha}" var="item" sortMode="multiple" rows="20" paginator="true"
	                       	paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}"
	                       	currentPageReportTemplate="({currentPage} de {totalPages})" paginatorPosition="bottom" paginatorAlwaysVisible="false"
	                       	editable="true" editMode="cell" widgetVar="widItensPlanilha" rowIndexVar="row">
	
						<p:column headerText="#{msg['massai.manterGrupoProducao.nivel']}" width="60" sortBy="#{item.itemServico.nivel}">
							<h:outputText value="#{genericUtilBean.completarZerosEsquerda(item.itemServico.nivel, 6)}" />
						</p:column>
	
						<p:column headerText="#{msg['massai.manterGrupoProducao.descricaoServico']}" sortBy="#{item.itemServico.descricao}">
							<h:outputText value="#{item.itemServico.descricao}" />
						</p:column>
	
						<p:column headerText="#{msg['massai.manterGrupoProducao.unidadeMedida']}" width="130" sortBy="#{item.itemServico.unidadeMedida.sigla}">
							<h:outputText value="#{item.itemServico.unidadeMedida.sigla} - #{item.itemServico.unidadeMedida.descricao}" />
						</p:column>
	
						<p:column headerText="#{msg['massai.manterGrupoProducao.valor']}" width="70" sortBy="#{item.valor}" id="columnValor">
							<p:cellEditor>
								<f:facet name="output">
									<h:outputText value="#{item.valor}">
										<f:convertNumber currencySymbol="R$" maxFractionDigits="4" minFractionDigits="4" pattern="#,##0.0000" />
									</h:outputText>
								</f:facet>
								<f:facet name="input">
									<p:inputText tabindex="10" value="#{item.valor}" label="#{msg['massai.manterGrupoProducao.valorUnit']}" 
										style="width: 80px; text-align: right;" maxlength="12" onkeypress="mascara(this, moeda);">
										<f:convertNumber pattern="#,##0.0000" currencySymbol="R$" 
											maxFractionDigits="4" minFractionDigits="4" type="number" />
									</p:inputText>
								</f:facet>
							</p:cellEditor>
						</p:column>

						<p:ajax event="cellEdit" listener="#{grupoProducaoBean.onCellEdit}" update="dataTableItensPlanilha,:messages,columnValor" />

						<p:column headerText="#{msg['massai.comum.excluir']}" width="42" style="text-align: center;">
							<p:commandLink tabindex="11" onclick="if (! window.confirm('Deseja excluir esse registro?') ) {return false}" 
								actionListener="#{grupoProducaoBean.removerItemPlanilha(item, row)}" update=":form">
								<img src="#{facesContext.externalContext.requestContextPath}/imagens/ico_remove.png" 
									width="16" height="16" border="0" name="#{msg['massai.comum.excluir']}" 
									title="#{msg['massai.comum.excluir']}" alt="#{msg['massai.comum.excluir']}" />
								<f:param name="id" value="#{item.id}" />
							</p:commandLink>
						</p:column>
					</p:dataTable>
				</fieldset>
			</p:panel>

			<p:toolbar>
				<f:facet name="left">
					<p:commandButton value="#{msg['massai.comum.pesquisar']}" 
						action="manterGrupoProducao" ajax="false" immediate="true" />

					<span class="ui-separator"> <span
						class="ui-icon ui-icon-grip-dotted-vertical" />
					</span>

					<p:commandButton value="#{msg['massai.comum.salvar']}" 
						actionListener="#{grupoProducaoBean.salvar()}" ajax="false" />
						
					<span class="ui-separator"> <span
						class="ui-icon ui-icon-grip-dotted-vertical" />
					</span>
						
					<p:commandButton value="#{msg['massai.comum.novo']}" 
						action="manterGrupoProducaoCadastro" ajax="false" immediate="true" />
				</f:facet>
			</p:toolbar>
		</h:form>

		<p:dialog header="#{msg['massai.manterGrupoProducao.grupoProducao']}" 
			id="grupoDlg" widgetVar="grupoDlg" resizable="false" modal="true" width="70%">
			<h:form id="formGrupo" acceptcharset="ISO-8859-1">
				<h:panelGroup style="padding: 20px;">
					<p:toolbar>
						<f:facet name="left">
							<p:commandButton value="#{msg['massai.comum.pesquisar']}" ajax="true" 
								actionListener="#{grupoProducaoBean.pesquisaGrupoModal()}" update="formGrupo" />
						</f:facet>
					</p:toolbar>
					<p:panel header="#{msg['massai.manterGrupoProducao.header']}">
						<h:panelGrid>
							<h:outputLabel value="#{msg['massai.manterGrupoProducao.descricao']}" for="descricao" />
							<p:inputText id="descricao" value="#{grupoProducaoBean.grupoProducaoModal.descricao}" style="width: 300px;" maxlength="255" />
						</h:panelGrid>
					</p:panel>

					<p:dataTable style="margin-top: 15px;" emptyMessage="#{msg['massai.comum.emptyMessage']}" 
						value="#{grupoProducaoBean.listaGrupoProducao}" var="grupo" sortMode="multiple" rows="10" paginator="true"
		                paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}"
		                currentPageReportTemplate="({currentPage} de {totalPages})" paginatorPosition="bottom" paginatorAlwaysVisible="false">
		
						<p:column headerText="#{msg['massai.manterGrupoProducao.codigo']}" sortBy="#{grupo.id}" width="60">
							<h:outputText value="#{genericUtilBean.completarZerosEsquerda(grupo.id, 5)}" />
						</p:column>
		
						<p:column headerText="#{msg['massai.manterGrupoProducao.descricao']}" sortBy="#{grupo.descricao}">
							<h:outputText value="#{grupo.descricao}" />
						</p:column>
		
						<p:column headerText="#{msg['massai.manterGrupoProducao.status']}" sortBy="#{grupo.status.descricao}" width="100">
							<h:outputText value="#{grupo.status.descricao}" />
						</p:column>
						
						<p:column headerText="#{msg['massai.manterGrupoProducao.selecionar']}" width="30" style="text-align: center;">
							<p:commandLink actionListener="#{grupoProducaoBean.selecionGrupoProducao(grupo)}" 
									update=":form:panelGrupoCopia,:messages,:form:dataTableItensPlanilha" 
									oncomplete="PF('grupoDlg').hide();">
								<h:graphicImage value="/imagens/passed.gif" />
							</p:commandLink>
						</p:column>
					</p:dataTable>
				</h:panelGroup>
			</h:form>
	    </p:dialog>
	    
	    <p:dialog header="#{msg['massai.itemServico.header']}" 
			id="servicoDlg" widgetVar="servicoDlg" resizable="false" modal="true" width="70%" 
			showEffect="fade" appendToBody="true" onShow="carregaServicos()" position="center top" style="margin-top: 30px;">
			<h:form id="formServico" acceptcharset="ISO-8859-1">
				<p:remoteCommand name="carregaServicos" update="formServico, msgServico" actionListener="#{grupoProducaoBean.pesquisarServicoModal()}" />
				<h:messages id="msgServico" showDetail="false" styleClass="tagMessages" layout="list" infoClass="info" errorClass="error" warnClass="warn" />

				<p:panel header="#{msg['massai.manterGrupoProducao.header']}">
					<h:panelGrid columns="4">
						<h:panelGrid>
							<h:outputLabel value="#{msg['massai.manterGrupoProducao.nivel']}" />
							<p:inputText value="#{grupoProducaoBean.itemServicoModal.nivel}" style="text-align: right; width: 50px;" />
						</h:panelGrid>
						
						<h:panelGrid>
							<h:outputLabel value="#{msg['massai.unidadeMedida.descricao']}" />
							<p:inputText value="#{grupoProducaoBean.itemServicoModal.descricao}" style="width: 300px;" />
						</h:panelGrid>
						
						<h:panelGrid>
							<h:outputLabel value="#{msg['massai.itemServico.nivelPai']}" />
							<p:selectOneMenu value="#{grupoProducaoBean.itemServicoModal.nivelPai}" style="width: 150px;">
								<f:selectItems value="#{grupoProducaoBean.carregaItemPai()}" />
							</p:selectOneMenu>
						</h:panelGrid>
	
						<h:panelGrid>
							<h:outputLabel value="#{msg['massai.itemServico.unidadeMedida']}" for="unidade" />
							<p:selectOneMenu id="unidade" value="#{grupoProducaoBean.itemServicoModal.unidadeMedida}" 
								label="#{msg['massai.itemServico.unidadeMedida']}" converter="entityConverter" style="width: 130px;">
								<f:selectItems value="#{grupoProducaoBean.unidadesMedida()}" />
							</p:selectOneMenu>
						</h:panelGrid>
					</h:panelGrid>
					
					<h:panelGrid>
						<p:commandButton value="#{msg['massai.comum.pesquisar']}" ajax="true" 
							actionListener="#{grupoProducaoBean.pesquisarServicoModal()}" 
							update="formServico,msgServico" style="margin-top: 10px;" />
					</h:panelGrid>
				</p:panel>
				
				<h:panelGroup style="padding: 15px;">
					<p:dataTable id="dataTableServico" emptyMessage="#{msg['massai.comum.emptyMessage']}" 
						value="#{grupoProducaoBean.listaItemServicoModal}" var="item" sortMode="multiple" rows="10" paginator="true"
		                paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}"
		                currentPageReportTemplate="({currentPage} de {totalPages})" paginatorPosition="bottom" paginatorAlwaysVisible="false">

						<p:column headerText="#{msg['massai.manterGrupoProducao.nivel']}" width="70" sortBy="#{item.nivel}">
							<h:outputText value="#{genericUtilBean.completarZerosEsquerda(item.nivel, 6)}" />
						</p:column>
						
						<p:column headerText="#{msg['massai.itemServico.unidadeMedida']}" width="100" sortBy="#{item.unidadeMedida.descricao}">
							<h:outputText value="#{item.unidadeMedida.sigla} - #{item.unidadeMedida.descricao}" />
						</p:column>

						<p:column headerText="#{msg['massai.itemServico.descricao']}" sortBy="#{item.descricao}">
							<h:outputText value="#{item.descricao}" />
						</p:column>
						
						<p:column headerText="#{msg['massai.manterGrupoProducao.selecionar']}" width="30" style="text-align: center;">
							<p:commandLink actionListener="#{grupoProducaoBean.selecionaServico(item)}" 
									update=":form:panelItemServico, :messages" 
									oncomplete="PF('servicoDlg').hide();">
								<h:graphicImage value="/imagens/passed.gif" />
							</p:commandLink>
						</p:column>
					</p:dataTable>
				</h:panelGroup>
			</h:form>
	    </p:dialog>
	</ui:define>
</ui:composition>
</html>